Скачиваний:
1
Добавлен:
07.05.2024
Размер:
19.35 Кб
Скачать

Получение курса валют из XML-файла ЦБ РФ в Excel

  1. Сохранить excel-файл как «Книга Excel с поддержкой макросов».

  2. Перейти в редактор VBA комбинацией Alt+F11.

  3. В верхней панели выбрать Insert > Module.

  4. В открывшемся редакторе вставить следующий код:

Sub GetEuroRateFromCBR()

Dim URL As String

Dim XMLHttp As Object

Dim xmlDoc As Object

Dim node As Object

Dim i As Integer

' Укажите URL-адрес для получения данных с сайта ЦБ' РФ

URL = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=" & Format(Date, "dd/mm/yyyy")

' Создаем новый объект XMLHttp для отправки запросов

Set XMLHttp = CreateObject("MSXML2.XMLHTTP")

' Открываем соединение и отправляем запрос

XMLHttp.Open "GET", URL, False

XMLHttp.send

' Создаем новый объект XML

Set xmlDoc = CreateObject("MSXML2.DOMDocument")

' Загружаем полученные данные в XML

xmlDoc.LoadXML XMLHttp.responseText

' Очищаем текущую таблицу

Лист4.Cells.Clear

' Записываем заголовки

Лист4.Cells(1, 1).Value = "Евро"

Лист4.Cells(2, 1).Value = "Дата"

Лист4.Cells(2, 2).Value = "Единиц"

Лист4.Cells(2, 3).Value = "Курс"

' Ищем элементы "ValuteCursOnDate" и записываем данные в таблицу Excel

i = 3

For Each node In xmlDoc.SelectNodes("//Valute[CharCode='EUR']")

Лист4.Cells(i, 1).Value = Date

Лист4.Cells(i, 2).Value = node.SelectNodes("Nominal")(0).Text

Лист4.Cells(i, 3).Value = Replace(node.SelectNodes("Value")(0).Text, ",", ".")

i = i + 1

Next node

Лист4.Columns("A").AutoFit

' Очищаем память

Set XMLHttp = Nothing

Set xmlDoc = Nothing

End Sub

  1. Сохранить модуль комбинацией Ctrl+S, перейти на четвёртый лист, нажать комбинацию Alt+F8.

Соседние файлы в папке Информационные технологии шиян